home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / c_toolbx.arc / FDFIND.C < prev    next >
Encoding:
C/C++ Source or Header  |  1988-03-30  |  1.0 KB  |  41 lines

  1. /* fdfind.c file - find module: moves to new position in file */
  2. #include "stdio.h"
  3. #include "cminor.h"
  4. #include "fdparm.h"
  5.  
  6. long top_of_page ;        /* file position of top of display page */
  7. extern long filesize ;        /* length of file in bytes        */
  8. long where_now() ;
  9.  
  10. int  move_forward(nlines)
  11.   int    nlines ;        /* number of lines to move        */
  12.   {
  13.      long  new_pos ;
  14.  
  15.      new_pos = top_of_page + (nlines*LINE_SIZE) ;
  16.      if( new_pos > filesize)
  17.     new_pos = filesize ;
  18.      move_to(new_pos) ;     /* start at top of page */
  19.      set_top_page() ;        /* make this new top of display page    */
  20.   }
  21.  
  22. int  move_backward(nlines)
  23.   int    nlines ;        /* number of lines to move */
  24.   {                /* zero lones = start of current line    */
  25.      long  new_pos ;
  26.  
  27.      new_pos = top_of_page - (nlines*LINE_SIZE) ;
  28.      if( new_pos < 0L )
  29.     new_pos = 0L ;
  30.      move_to( new_pos) ;    /* start at top of page */
  31.      set_top_page() ;        /* make this new top of display page    */
  32.   }
  33.  
  34.  
  35. int set_top_page()
  36.   {
  37.      top_of_page = where_now() ;
  38.   }
  39.  
  40.  
  41.